package com.linkallcloud.core.activity;

import java.util.List;

import com.linkallcloud.core.domain.FlowStep;
import com.linkallcloud.core.dto.Trace;

public interface IFlowStepActivity<T extends FlowStep> extends IActivity<T> {

    List<T> findByObj(Trace t, Integer flowType, Long objId, String objUuid, String objType, String objPropType);

    List<T> findByTwf(Trace t, Long twfInstId, String twfInstUuid);

    boolean flow(Trace t, T flow);

    // ObjVo startTwf(Trace t, T flow);
    // void cancelTwf(Trace t, Long id, String uuid);

    int progress(Trace t, Long twfInstId, String twfInstUuid, int progress);

    int complete(Trace t, Long twfInstId, String twfInstUuid, int op);

}
